// 主题颜色
$primary-color: #ff6034;
$primary-gradient: linear-gradient(to right, #ff6034, #ee0a24);
$success-color: #07c160;
$warning-color: #ff976a;
$danger-color: #ee0a24;
$info-color: #1989fa;

// 文字颜色
$text-color: #323233;
$text-color-secondary: #969799;
$text-color-light: #c8c9cc;
$text-color-placeholder: #c8c9cc;

// 背景颜色
$background-color: #f7f8fa;
$background-color-light: #fafafa;
$background-color-dark: #ebedf0;
$background-color-white: #ffffff;

// 边框颜色
$border-color: #ebedf0;
$border-color-light: #f5f5f5;
$border-color-dark: #dcdee0;

// 间距
$spacing-mini: 4px;
$spacing-small: 8px;
$spacing-base: 16px;
$spacing-large: 24px;
$spacing-xl: 32px;

// 圆角
$border-radius-small: 2px;
$border-radius-base: 4px;
$border-radius-large: 8px;
$border-radius-circle: 50%;

// 字体大小
$font-size-mini: 10px;
$font-size-small: 12px;
$font-size-base: 14px;
$font-size-medium: 16px;
$font-size-large: 18px;
$font-size-xl: 20px;

// 阴影
$box-shadow: 0 2px 12px rgba(100, 101, 102, 0.12);
$box-shadow-light: 0 2px 8px rgba(100, 101, 102, 0.08);
$box-shadow-dark: 0 2px 16px rgba(100, 101, 102, 0.16);

// 动画
$animation-duration-base: 0.3s;
$animation-duration-fast: 0.2s;
$animation-duration-slow: 0.4s;

// 布局
$header-height: 44px;
$tabbar-height: 50px;
$safe-area-inset-bottom: 34px;

// 混入
@mixin flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

@mixin flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

@mixin text-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@mixin multi-ellipsis($line: 2) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: $line;
  overflow: hidden;
}

@mixin safe-area-bottom {
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom);
}

@mixin hairline-bottom {
  position: relative;
  &::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: $border-color;
    transform: scaleY(0.5);
  }
} 